package ar.com.binarit.entities

import ar.com.binarit.EstadoMultiton

class Estado {

	public static String ABIERTA = "Abierta"
	public static String CERRADA = "Cerrada"
	public static String PUBLICADA = "Publicada"
	
	String descripcion
	
    static constraints = {
		descripcion(size:1..50)
    }
	
	String toString(){
		return descripcion
	}
	
	static def abierta() {
		return EstadoMultiton.getEstados(ABIERTA)
	}
	
	static def cerrada() {
		return EstadoMultiton.getEstados(CERRADA)
	}
	
	static def publicada() {
		println "publicada: " + EstadoMultiton.getEstados(PUBLICADA)
		return EstadoMultiton.getEstados(PUBLICADA)
	}
	
	public boolean equals(Object o) {
		try {
			Estado otro = (Estado) o
			return otro.descripcion.equals(this.descripcion)
		} catch (ClassCastException e) {
			return false
		}
	}
	
	public int hashCode() {
		return descripcion.hashCode()
	}
}
